using SheLife.Domain.Entities;

namespace SheLife.Domain.Interfaces.Repositories
{
    /// <summary>
    /// 生理笔记仓储接口
    /// </summary>
    public interface IMenstrualNoteRepository : IRepository<MenstrualNote>
    {
        Task<IEnumerable<MenstrualNote>> GetByUserIdAsync(Guid userId);
        Task<IEnumerable<MenstrualNote>> GetByUserIdAndDateRangeAsync(Guid userId, DateTime startDate, DateTime endDate);
        Task<IEnumerable<MenstrualNote>> GetByCycleIdAsync(Guid cycleId);
        Task<IEnumerable<MenstrualNote>> GetByTagAsync(Guid userId, string tag);
    }
}